package cluedo.gui;

import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;

import javax.swing.Icon;
import javax.swing.ImageIcon;


/** Classe che controlla il trasferimento delle immagini delle carte dal tabellone alla finestra 
 * di formulazione ipotesi/soluzione */
class TransferableCard implements Transferable {
	  protected static DataFlavor imageFlavor = new DataFlavor(Icon.class, "imageCard");
	  protected static DataFlavor[] supportedFlavors = { imageFlavor };
	  ImageIcon cardImg;
	  
	  public TransferableCard(ImageIcon img) {
	    this.cardImg = img;
	  }

	  public DataFlavor[] getTransferDataFlavors() {
	    return supportedFlavors;
	  }

	  public boolean isDataFlavorSupported(DataFlavor flavor) {
	    if (flavor.equals(imageFlavor) || flavor.equals(DataFlavor.stringFlavor))
	      return true;
	    return false;
	  }

	  public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
	    if (flavor.equals(imageFlavor))
	      return cardImg;
	    else if (flavor.equals(DataFlavor.stringFlavor))
	      return cardImg.toString();
	    else
	      throw new UnsupportedFlavorException(flavor);
	  }
	  
	  
}
